package com.jtech.together.mvp.contract;

import com.jtech.together.model.CommentModel;
import com.jtech.together.model.TrendsModel;
import com.jtech.together.mvp.base.BaseContract;

import java.util.List;

/**
 * 动态详情
 * Created by wuxubaiyang on 2017/5/16.
 */
public interface TrendsDetailContract {
    interface Presenter extends BaseContract.Presenter {
        void loadTrends();

        void loadComments(int pageIndex, int displayNumber, boolean loadMore);

        void like(TrendsModel trendsModel, int count);

        void unlike(TrendsModel trendsModel, int count);

        void publishComment(String content, TrendsModel trendsModel);
    }

    interface View extends BaseContract.View {
        void loadTrendsSuccess(TrendsModel trendsModel);

        void loadCommentSuccess(List<CommentModel> commentList, boolean loadMore);

        void loadFail(String error);

        void operationSuccess(TrendsModel trendsModel);

        void operationFail(String error);

        void publishSuccess(CommentModel commentModel);

        void publishFail(String error);
    }
}